package com.mychat.service;


import com.mychat.entity.dto.TokenUserInfoDto;
import com.mychat.entity.vo.PaginationResultVO;
import com.mychat.entity.po.UserContactApply;
import com.mychat.entity.query.UserContactApplyQuery;
import com.mychat.exception.BusinessException;

import java.util.List;
/**
 * @Description:Service
 * @auther:YYT
 * @date:2025/03/02
 */
public interface UserContactApplyService {

	/**
	 * 根据条件查询列表
	 */
	List<UserContactApply> findListByParam(UserContactApplyQuery query);

	/**
	 * 根据条件查询数量
	 */
	Integer findCountByParam(UserContactApplyQuery query);

	/**
	 * 分页查询
	 */
	PaginationResultVO<UserContactApply> findListByPage(UserContactApplyQuery query);

	/**
	 * 新增
	 */
	Integer add(UserContactApply bean);

	/**
	 * 批量新增
	 */
	Integer addBatch(List<UserContactApply> listBean);

	/**
	 * 批量新增或修改
	 */
	Integer addOrUpdateBatch(List<UserContactApply> listBean);

	/**
	 * 根据ApplyId查询
	 */
	UserContactApply getUserContactApplyByApplyId(Integer applyId);

	/**
	 * 根据ApplyId更新
	 */
	Integer updateUserContactApplyByApplyId(UserContactApply bean, Integer applyId);

	/**
	 * 根据ApplyId删除
	 */
	Integer deleteUserContactApplyByApplyId(Integer applyId);

	Integer applyAdd(TokenUserInfoDto tokenUserInfoDto, String contactId, String applyInfo) throws BusinessException;

	void dealWithApply(String userId, Integer applyId, Integer status) throws BusinessException;

}